type: highlight
lines of text:
This paper introduces a new family of leaderless Byzan-
tine fault tolerance protocols, built on a metastable mech-
anism. These protocols provide a strong probabilistic
safety guarantee in the presence of Byzantine adversaries,
while their concurrent nature enables them to achieve
high throughput and scalability. Unlike blockchains that
comment:
type: highlight
lines of text:
internet-scale electronic payment system. The system
is evaluated in a large scale deployment. Experiments
demonstrate that the system can achieve high throughput
(1300 tps), provide low confirmation latency (4 sec), and
scale well compared to existing systems that deliver sim-
ilar functionality. For our implementation and setup, the
comment:
type: highlight
lines of text:
comment:
type: highlight
lines of text:
allows this probability to be rendered arbitrarily small,
comment:
type: highlight
lines of text:
comment:
type: highlight
lines of text:
wasteful, and limited in performance. By construction,
comment:
type: highlight
lines of text:
its safety through a deliberately metastable mechanism.
Specifically, the system operates by repeatedly sampling
the network at random, and steering the correct nodes
towards the same outcome. Analysis shows that metasta-
comment:
this is a highlight
type: highlight
lines of text:
simple reparameterization [18].
This paper introduces a new family of consensus proto-
cols. Inspired by gossip algorithms, this new family gains
its safety through a deliberately metastable mechanism.
Specifically, the system operates by repeatedly sampling
the network at random, and steering the correct nodes
towards the same outcome. Analysis shows that metasta-
bility is a powerful, albeit non-universal, technique: it
can move a large network to an irreversible state quickly,
though it is not always guaranteed to do so.
comment:
wrapped around a region...
type: highlight
lines of text:
stall in the network, but have no safety impact on virtu-
ous transactions. We show that this is a sensible tradeoff,
and that resulting system is sufficient for building com-
plex payment systems.
comment:
type: highlight
lines of text:
1:
onQuery
(
v,
col
′
)
2:
if
col
=
⊥
then
col
:
=
col
′
3:
respond
(
v,
col)
4:
slushLoop
(
u,
col
0
∈{
R
,
B
,
⊥}
)
5:
col
:
=
col
0
// initialize with a color
6:
for
r
∈{
1
...m
}
do
7:
// if
⊥
, skip until
onQuery
sets the color
8:
if
col
=
⊥
then continue
9:
// randomly sample from the known nodes
10:
K
:
=
(
N\
u,k
)
11:
P
:
=
[
query
(
v,
col
)
for
v
∈K
]
12:
for
col
′
∈{
R
,
B
}
do
13:
if
P.
count
(
col
′
)
≥
α
·
k
then
14:
col
:
=
col
′
15:
accept
(col)
Figure 1: Slush protocol. Timeouts elided for readability.
comment:
highlights can have associated text too it seems.
type: square
lines of text:
1:
snowflakeLoop
(
u,
col
0
∈{
R
,
B
,
⊥}
)
2:
col
:
=
col
0
, cnt
:
= 0
3:
while
undecided
do
4:
if
col
=
⊥
then continue
5:
K
:
=
(
N\
u,k
)
6:
P
:
=
[
query
(
v,
col
)
for
v
∈K
]
7:
for
col
′
∈{
R
,
B
}
do
8:
if
P.
count
(
col
′
)
≥
α
·
k
then
9:
if
col
′
6
=
col
then
10:
col
:
=
col
′
, cnt
:
= 0
11:
else
12:
if
++
cnt
> β
then
accept
(col)
Figure 2: Snowflake.
comment:
Regions can have associated texts too which is pretty cool because I can make that into an anki question. The problem is that Foxit Reader is really really slow at typing
type: text
lines of text:
comment:
This could be a note or an anki question about the underlying text...
type: highlight
lines of text:
1:
snowballLoop
(
u,
col
0
∈{
R
,
B
,
⊥}
)
2:
col
:
=
col
0
, lastcol
:
=
col
0
, cnt
:
= 0
3:
d
[
R
]
:
= 0
,
d
[
B
]
:
= 0
4:
while
undecided
do
5:
if
col
=
⊥
then continue
6:
K
:
=
(
N\
u,k
)
7:
P
:
=
[
query
(
v,
col
)
for
v
∈K
]
8:
for
col
′
∈{
R
,
B
}
do
9:
if
P.
count
(
col
′
)
≥
α
·
k
then
10:
d
[
col
′
]
++
11:
if
d
[
col
′
]
> d
[
col
]
then
12:
col
:
=
col
′
13:
if
col
′
6
=
lastcol
then
14:
lastcol
:
=
col
′
, cnt
:
= 0
15:
else
16:
if
++
cnt
> β
then
accept
(col)
Figure 3: Snowball.
comment:
this highlight has associated text with it...